package com.hxd.otc.api;

import com.hxd.otc.base.BaseBean;
import com.hxd.otc.module.coin_deal.bean.ChooseCoinBean;
import com.hxd.otc.module.coin_deal.bean.CoinDealRecoderBean;
import com.hxd.otc.module.coin_deal.bean.CoinDealResultBean;
import com.hxd.otc.module.coin_deal.bean.DialogCoinTypeBean;

import java.util.HashMap;
import java.util.List;

import io.reactivex.Observable;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

/**
 * 包  名 :  com.hxd.otc.api
 * 类  名 :  ICoinDealApi
 * 作  者 :  胡庆岭
 * 时  间 :  2018/7/9 16:51
 * 描  述 :  ${币币交易api}
 */
public interface ICoinDealApi {
    //获取币币交易列表
    @GET("bb/advert/list")
    Observable<BaseBean<CoinDealResultBean>> coinDealList(
            @Query("type") int type, @Query("bbTransPair") String bbTransPair, @Query("current") int pageNo, @Query("size") int pageSize
    );

    //获取最近成交价格
    @GET("bb/trans/last/price")
    Observable<BaseBean> lastPrice(@Query("bbTransPair") String bbTransPair);

    @GET("bb/cur/list")
    Observable<BaseBean<List<ChooseCoinBean>>> getCoinTypePrice();

    @GET("bb/advert/cur")
    Observable<BaseBean<List<DialogCoinTypeBean>>> getCoinType();

    @GET("bb/advert/list/mine")
    Observable<BaseBean<CoinDealResultBean>> getMyEntryOrders(@Query("current") int pageNo, @Query("size") int pageSize);

    @POST("bb/advert/insert")
    Observable<BaseBean<String>> insertEntryOrders(
                                                   @Query("price") String price,
                                                   @Query("amount") String amount,
                                                   @Query("transPair") String transPair,
                                                   @Query("password") String password);

    @GET("bb/advert/delete")
    Observable<BaseBean<String>> deleteEntryOrders(@Query("id") String id);

    @GET("bb/trans/list")
    Observable<BaseBean<CoinDealRecoderBean>> getCoinDealTransactionRecord(@Query("current") int pageNo, @Query("size") int pageSize);

    /**
     * 币币交易买入卖出
     *
     * @param bbAdvertId
     * @param transAmount
     * @param password
     * @return
     */
    @POST("bb/trans")
    Observable<BaseBean> trans(@Query("bbAdvertId") String bbAdvertId
            , @Query("transAmount") String transAmount, @Query("password") String password);
}
